package com.kymatrix.kycarbon.xsmd.kbpm.server.core.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.kymatrix.kycarbon.xsmd.kbpm.server.base.CommonPage;
import com.kymatrix.kycarbon.xsmd.kbpm.server.core.dto.ProcessDesignHisPageParam;
import com.kymatrix.kycarbon.xsmd.kbpm.server.core.dto.ProcessDesignHisParam;
import com.kymatrix.kycarbon.xsmd.kbpm.server.model.entity.ProcessDesignHisEntity;
import com.kymatrix.kycarbon.xsmd.kbpm.server.core.vo.ProcessDesignHisEntityVO;
/**
 * <p>
 * 流程设计历史 服务类
 * </p>
 *
 * @author mldong
 * @since 2023-09-25
 */
public interface ProcessDesignHisService extends IService<ProcessDesignHisEntity> {
    /**
    * 添加流程设计历史
    * @param param
    * @return
    */
    boolean save(ProcessDesignHisParam param);

    /**
    * 更新流程设计历史
    * @param param
    * @return
    */
    boolean update(ProcessDesignHisParam param);

    /**
    * 自定义分页查询流程设计历史
    * @param param
    * @return
    */
    CommonPage<ProcessDesignHisEntityVO> page(ProcessDesignHisPageParam param);
    /**
    * 通过id查询
    * @param id
    * @return
    */
    ProcessDesignHisEntityVO findById(Long id);

    /**
     * 获取最新的流程设计
     * @param processDesignId
     * @return
     */
    ProcessDesignHisEntity getLatestByProcessDesignId(Long processDesignId);
}
